package com.sinog.core.utilbean;

import java.util.HashMap;
import java.util.Map;

/**
 * @desc 字典表 - 懒汉单例
 * @author lzq
 * @date 2020-12-07 5:49 下午
 */
public final class Dictionary {

    private static volatile Dictionary dictionary;
    //***************************************************************************
    //************************下面定义用于excel汉字转编码***************************
    //***************************************************************************
    /**
     * 性别
     */
    private static final Map<String,String> SEX_MAP = new HashMap<>(16);
    /**
     * 民族
     */
    private static final Map<String,String> NATIONALITY_MAP = new HashMap<>(16);
    /**
     * 证件类型
     */
    private static final Map<String,String> ID_TYPE_MAP = new HashMap<>(16);
    /**
     * 文化程度
     */
    private static final Map<String,String> EDUCATION_MAP = new HashMap<>(16);
    /**
     * 户籍类型编码
     */
    private static final Map<String,String> PRI_ADDR_MAP = new HashMap<>(16);
    /**
     * 犯罪类型
     */
    private static final Map<String,String> FZLX_MAP = new HashMap<>(16);
    /**
     * 现刑期
     */
    private static final Map<String,String> PRITIME_MAP = new HashMap<>(16);
    /**
     * 是否累惯犯
     */
    private static final Map<String,String> PRECRI_MAP = new HashMap<>(16);
    /**
     * 附加刑
     */
    private static final Map<String,String> ADDPENALTY_MAP = new HashMap<>(16);
    /**
     * 案犯类别
     */
    private static final Map<String,String> AFTYPE_MAP = new HashMap<>(16);
    /**
     * 捕前职业
     */
    private static final Map<String,String> BQZY_MAP = new HashMap<>(16);
    /**
     * 捕前职业分类
     */
    private static final Map<String,String> JINENGTYPE_MAP = new HashMap<>(16);
    /**
     * 是否残疾
     */
    private static final Map<String,String> CANJI_MAP = new HashMap<>(16);
    /**
     * 关系
     */
    private static final Map<String,String> RELATION_MAP = new HashMap<>(16);
    /**
     * 监护人情况
     */
    private static final Map<String,String> JIANHUREN_MAP = new HashMap<>(16);
    /**
     * 生活困难程度
     */
    private static final Map<String,String> KUNNAN_MAP = new HashMap<>(16);
    /**
     * 失学
     */
    private static final Map<String,String> SHIXUE_MAP = new HashMap<>(16);
    /**
     * 流浪社会
     */
    private static final Map<String,String> LIULANG_MAP = new HashMap<>(16);
    /**
     * 违法犯罪行为
     */
    private static final Map<String,String> FANZUI_MAP = new HashMap<>(16);
    //***************************************************************************
    //************************下面定义用于入库校验参数******************************
    //***************************************************************************
    /**
     * 性别code
     */
    private static final CharSequence[] SEX = {"1","2","0","9"};
    /**
     * 民族code
     */
    private static final CharSequence[] NATIONALITY = {"01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","97"};
    /**
     * 证件类型
     */
    private static final CharSequence[] ID_TYPE = {"1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","98","99"};
    /**
     * 文化程度code
     */
    private static final CharSequence[] EDUCATION = {"10","11","12","13","14","15","16","17","18","19","20","21","22","23","28","30","31","32","33","40","91","92","93","41","42","43","44","45","46","47","48","49","60","61","62","63","70","71","73","80","81","83","90","98","99"};
    /**
     * 户籍类型code
     */
    private static final CharSequence[] PRIADDR = {"01","02","03","04","05","06","07","08"};
    /**
     * 犯罪类型code
     */
    private static final CharSequence[] FZLX = {"2","15","58","161","199","212","341","363","376","408","9999"};
    /**
     * 现刑期code
     */
    private static final CharSequence[] PRITIME = {"9997","9996","9995","9999","9998","9994"};
    /**
     * 是否累惯犯code
     */
    private static final CharSequence[] PRECRI = {"1","2"};
    /**
     * 附加刑code
     */
    private static final CharSequence[] ADDPENALTY = {"01","02","03","04","05","06"};
    /**
     * 案犯类别code
     */
    private static final CharSequence[] AFTYPE = {"1","2","3"};
    /**
     * 捕前职业code
     */
    private static final CharSequence[] BQZY = {};
    /**
     * 捕前职业分类
     */
    private static final CharSequence[] JINENGTYPE = {"11","111","112","113","114","115","116","117","118","13","14","15","16","17","21","24","27","28","29","31","37","51","54","70","80","90","95","96","97","98","99","00"};
    /**
     * 是否疾病、残疾code
     */
    private static final CharSequence[] CANJI = {"1","2"};
    /**
     * 关系
     */
    private static final CharSequence[] RELATION = {"0","1","2","1","10","11","12","2","20","21","22","23","24","25","26","27","28","29","3","30","31","32","33","34","35","36","37","38","39","4","40","41","42","43","44","45","46","47","48","49","5","50","51","52","53","54","55","56","57","58","59","6","60","61","62","63","64","65","66","67","68","69","7","70","71","72","73","74","75","76","77","78","79","8","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","97A","97B","97C","97D","97E","97F","97G","97H","97I","97J","97K","99","99A","99B","99C","99D","99E","99F","99G","99H","99I","99J","99K","99L","99M","99N","99O","99P"};
    /**
     * 监护人情况code
     */
    private static final CharSequence[] JIANHUREN = {"01","02","03"};
    /**
     * 生活困难程度code
     */
    private static final CharSequence[] KUNNAN = {"01","02","03"};
    /**
     * 是否失学code
     */
    private static final CharSequence[] SHIXUE = {"1","2"};
    /**
     * 是否流浪社会code
     */
    private static final CharSequence[] LIULANG = {"1","2"};
    /**
     * 有无违法犯罪行为code
     */
    private static final CharSequence[] FANZUI = {"1","2"};
    /**
     * 非大陆户籍code
     */
    private static final CharSequence[] FDLPRIADDR = {"04","05","06","07","08"};
    /**
     * 死刑,死缓,死刑缓期二年执行
     */
    private static final CharSequence[] DEATHPENALTY = {"9995","9996","9997"};
    //***************************************************************************
    //************************湖南个性化对接***************************
    //***************************************************************************
    /**
     * 湖南性别code
     */
    private static final CharSequence[] HNSEX = {"0","1","2","9","255"};
    /**
     * 湖南民族code
     */
    private static final CharSequence[] HNMZCODE = {"01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","255"};
    /**
     * 湖南证件类型code
     */
    private static final CharSequence[] HNZJLXCODE = {"1","2","3","4","5","6","7","8","9","10","11","701","702","703","704","705","706","707","708","801","802","803","804","805","806","901","999"};
    /**
     * 湖南文化程度code
     */
    private static final CharSequence[] HNWHCDCODE = {"10","11","12","13","14","15","16","17","18","19","20","21","22","23","28","30","31","32","33","40","41","42","43","44","45","46","47","48","49","60","61","62","63","70","71","80","81","73","83","90"};
    /**
     * 湖南户籍类型code
     */
    private static final CharSequence[] HNHJLXCODE = {"10","11","12","13","14","15","16","17","18","19","20","21","22","23","28","30","31","32","33","40","41","42","43","44","45","46","47","48","49","60","61","62","63","70","71","80","81","73","83","90"};
    /**
     * 湖南罪名code
     */
    private static final CharSequence[] HNZMCODE = {"001","001001","001001001","001001002","001001003","001001004","001001005","001001006","001001007","001001008","001001009","001001010","001001011","001001011001","001001011002","001001011003","001001011004","001002","001001012","001002001","001002002","001002003","001002004","001002005","001002006","001002007","001002008","001002009","001002010","001002011","001002012","001002013","001002014","001002015","001002016","001002017","001002018","001002019","001002020","001002021","001002021001","001002021002","001002022","001002023","001002024","001002025","001002026","001002027","001002028","001002029","001002030","001002030001","001002030002","001002031","001002032","001002032001","001002032002","001002033","001002033001","001002033002","001002034","001002034001","001002034002","001002034003","001002034004","001002034005","001002034006","001002034007","001002034008","001002034009","001002034010","001002034011","001002035","001002036","001002036001","001002036002","001002036003","001002036004","001002037","001002037001","001002037002","001002038","001002039","001002039001","001002039002","001002039003","001002039004","001002039005","001002039006","001002039007","001002039008","001002039009","001002039010","001002040","001002041","001002041001","001002041002","001002041003","001002041004","001002041005","001002041006","001002041007","001002041008","001002041009","001002041010","001002041011","001002041012","001002041013","001002041014","001002041015","001002041016","001002041017","001002041018","001002041019","001002041020","001002041021","001002042","001002042001","001002042002","001002042003","001002043","001002043001","001002043002","001002044","001002045","001002045001","001002045002","001002046","001002047","001002048","001002049","001002050","001002051","001002052","001002053","001002054","001002055","001002056","001002057","001002058","001003","001003001","001003001001","001003001002","001003001003","001003001004","001003001005","001003001006","001003001007","001003001008","001003001009","001003001009001","001003001009002","001003001009003","001003001009004","001003001010","001003002","001003002001","001003002002","001003002003","001003002004","001003002005","001003002006","001003002007","001003002008","001003002009","001003002010","001003002012","001003002011","001003003","001003003001","001003003002","001003003002001","001003003002002","001003003003","001003003003001","001003003003002","001003003004","001003003005","001003003005001","001003003005002","001003003006","001003003007","001003003008","001003003009","001003003010","001003003011","001003003012","001003003013","001003003014","001003003014001","001003003014002","001003003015","001003003016","001003003017","001003003018","001003003019","001003003020","001003003021","001003003022","001003003023","001003003024","001003003025","001003004","001003004001","001003004002","001003004002001","001003004002002","001003004002003","001003004003","001003004003001","001003004003002","001003004004","001003004005","001003004006","001003004007","001003004007001","001003004007002","001003004007003","001003004035","001003004008","001003004009","001003004009001","001003004009002","001003004009003","001003004010","001003004011","001003004011001","001003004011002","001003004012","001003004013","001003004013001","001003004013002","001003004013003","001003004014","001003004014001","001003004014002","001003004015","001003004015001","001003004015002","001003004015003","001003004015004","001003004016","001003004017","001003004018","001003004019","001003004036","001003004020","001003004037","001003004021","001003004038","001003004022","001003004023","001003004024","001003004025","001003004026","001003004027","001003004028","001003004029","001003004030","001003004031","001003004032","001003004033","001003004034","001003005","001003005001","001003005002","001003005003","001003005004","001003005005","001003005006","001003005007","001003005008","001003006","001003006001","001003006002","001003006003","001003006004","001003006005","001003006006","001003006007","001003006008","001003006008001","001003006008002","001003006009","001003006010","001003006010001","001003006010002","001003006011","001003006011001","001003006011002","001003006012","001003006012001","001003006012002","001003006013","001003006014","001003006015","001003007","001003007001","001003007002","001003007003","001003007003001","001003007003002","001003007004","001003007005","001003007006","001003007007","001003008","001003008001","001003008001001","001003008001002","001003008002","001003008003","001003008004","001003008005","001003008006","001003008007","001003008008","001003008008001","001003008008002","001003008009","001003008009001","001003008009002","001003008010","001003008010001","001003008010002","001003008011","001003008012","001003008013","001003008014","001003008015","001004","001004001","001004002","001004003","001004003001","001004003002","001004003003","001004004","001004005","001004006","001004007","001004008","001004009","001004010","001004011","001004012","001004013","001004014","001004015","001004016","001004017","001004018","001004019","001004020","001004021","001004022","001004023","001004024","001004025","001004026","001004027","001004028","001004029","001004030","001004031","001004032","001004032001","001004032002","001004032003","001004033","001004034","001004035","001004036","001004037","001004037001","001004037002","001004038","001004039","001004040","001004041","001004042","001004043","001004044","001004045","001004046","001004047","001005","001005001","001005002","001005003","001005004","001005005","001005006","001005007","001005008","001005009","001005010","001005011","001005012","001005013","001006","001006001","001006001001","001006001002","001006001003","001006001004","001006001005","001006001006","001006001007","001006001008","001006001009","001006001010","001006001010001","001006001010002","001006001011","001006001012","001006001013","001006001014","001006001015","001006001015001","001006001015002","001006001016","001006001017","001006001018","001006001019","001006001020","001006001020001","001006001020002","001006001021","001006001022","001006001023","001006001024","001006001025","001006001026","001006001027","001006001028","001006001029","001006001030","001006001031","001006001031001","001006001031002","001006001032","001006001033","001006001034","001006001035","001006001036","001006001037","001006001037001","001006001037002","001006001038","001006001039","001006001040","001006001041","001006001042","001006001042001","001006001042002","001006001042003","001006001043","001006001044","001006001045","001006001046","001006001047","001006001048","001006001049","001006001050","001006001051","001006001052","001006001053","001006001054","001006002","001006002001","001006002002","001006002002001","001006002002002","001006002002003","001006002002004","001006002002005","001006002002006","001006002003","001006002004","001006002005","001006002006","001006002007","001006002008","001006002009","001006002010","001006002010001","001006002010002","001006002011","001006002012","001006002013","001006002014","001006002015","001006002015001","001006002015002","001006002015003","001006002015004","001006002016","001006002016001","001006002016002","001006002017","001006002017001","001006002017002","001006002017003","001006002018","001006002019","001006002020","001006002021","001006002022","001006002023","001006003","001006003001","001006003002","001006003003","001006003003001","001006003003002","001006003004","001006003005","001006003006","001006003007","001006003007001","001006003007002","001006003008","001006004","001006004001","001006004002","001006004003","001006004004","001006004004001","001006004004002","001006004005","001006004006","001006004006001","001006004006002","001006004007","001006004007001","001006004007002","001006004008","001006004008001","001006004008002","001006004009","001006004009001","001006004009002","001006004010","001006004010001","001006004010002","001006005","001006005001","001006005002","001006005003","001006005003001","001006005003002","001006005004","001006005005","001006005006","001006005007","001006005008","001006005008001","001006005008002","001006005008003","001006005008004","001006005009","001006005009001","001006005009002","001006005009003","001006005009004","001006005010","001006005011","001006005012","001006005013","001006005014","001006005014001","001006005014002","001006006","001006006001","001006006002","001006006003","001006006004","001006006005","001006006006","001006006007","001006006007001","001006006007002","001006006007003","001006006007004","001006006007005","001006006007006","001006006007007","001006006008","001006006009","001006006010","001006006011","001006006012","001006006013","001006006013001","001006006013002","001006006013003","001006006013004","001006006013005","001006006013006","001006006014","001006006014001","001006006014002","001006006014003","001006006014004","001006006018","001006006015","001006006016","001006006017","001006006019","001006007","001006007001","001006007001001","001006007001002","001006007001003","001006007001004","001006007002","001006007003","001006007004","001006007005","001006007006","001006007007","001006007008","001006007009","001006007009001","001006007009002","001006007009003","001006007009004","001006007010","001006007010001","001006007010002","001006007010003","001006007011","001006007012","001006007013","001006007013001","001006007013002","001006008","001006008001","001006008002","001006008003","001006008004","001006008004001","001006008004002","001006008004003","001006008005","001006008006","001006008007","001006009","001006009001","001006009001001","001006009001002","001006009001003","001006009001004","001006009001005","001006009002","001006009003","001006009004","001006009005","001007","001007001","001007002","001007003","001007004","001007005","001007006","001007007","001007008","001007009","001007010","001007011","001007012","001007013","001007014","001007015","001007016","001007017","001007018","001007019","001007020","001007021","001007022","001007023","001007024","001007025","001007026","001008","001008001","001008002","001008003","001008004","001008005","001008006","001008007","001008008","001008009","001008010","001008011","001008012","001008013","001008014","001009","001009001","001009002","001009003","001009004","001009005","001009006","001009007","001009008","001009009","001009010","001009011","001009012","001009013","001009014","001009015","001009016","001009017","001009018","001009019","001009020","001009021","001009022","001009023","001009024","001009025","001009026","001009027","001009028","001009029","001009030","001009031","001009032","001009033","001009034","001009035","001009036","001009037","001009038","001009039","001009040","001009041","001010","001010001","001010002","001010003","001010004","001010005","001010006","001010007","001010008","001010009","001010010","001010011","001010012","001010013","001010014","001010015","001010016","001010017","001010018","001010019","001010020","001010021","001010022","001010023","001010024","001010025","001010026","001010027","001010028","001010029","001010030","001010031","001010032","001011","001011001","001011002","001011003","1012"};
    /**
     * 湖南犯罪类型code
     */
    private static final CharSequence[] HNFZLXCODE = {"01","02","03","04","05","06","07","08","09","99"};
    /**
     * 湖南犯罪类型code
     */
    private static final CharSequence[] HNXXQCODE = {"1","2","3","4","5","6","7","8","9"};
    /**
     * 湖南代码标准"是","否"code
     * 1:是
     * 2:否
     */
    private static final CharSequence[] HNXISORNOCODE = {"1","2"};
    /**
     * 湖南附加刑code
     */
    private static final CharSequence[] HNXFJXCODE = {"1","2","3","4",};

    public CharSequence[] getHnFjxCode() {
        return HNXFJXCODE;
    }

    public CharSequence[] getHnIsOrNoCode() {
        return HNXISORNOCODE;
    }

    public CharSequence[] getHnXxqCode() {
        return HNXXQCODE;
    }

    public CharSequence[] getHnFzlxCode() {
        return HNFZLXCODE;
    }

    public CharSequence[] getHnZmCode() {
        return HNZMCODE;
    }

    public CharSequence[] getHnHjlxCode() {
        return HNHJLXCODE;
    }

    public CharSequence[] getHnWhcdCode() {
        return HNWHCDCODE;
    }

    public CharSequence[] getHnZjlxCode() {
        return HNZJLXCODE;
    }

    public CharSequence[] getMzCode() {
        return HNMZCODE;
    }

    public CharSequence[] getHnSex() {
        return HNSEX;
    }

    public Map<String, String> getNationalityMap() {
        return NATIONALITY_MAP;
    }

    public Map<String, String> getEducationMap() {
        return EDUCATION_MAP;
    }

    public Map<String, String> getFzlxMap() {
        return FZLX_MAP;
    }

    public Map<String, String> getPritimeMap() {
        return PRITIME_MAP;
    }

    public Map<String, String> getPrecriMap() {
        return PRECRI_MAP;
    }

    public Map<String, String> getCanjiMap() {
        return CANJI_MAP;
    }

    public Map<String, String> getAftypeMap() {
        return AFTYPE_MAP;
    }

    public Map<String, String> getAddpenaltyMap() {
        return ADDPENALTY_MAP;
    }

    public Map<String, String> getPriAddrMap() {
        return PRI_ADDR_MAP;
    }

    public CharSequence[] getDeathpenalty() {
        return DEATHPENALTY;
    }

    public CharSequence[] getnationality() {
        return NATIONALITY;
    }

    public CharSequence[] geteducation() {
        return EDUCATION;
    }

    public CharSequence[] getfdlpriaddr() {
        return FDLPRIADDR;
    }

    public CharSequence[] getsex() {
        return SEX;
    }

    public CharSequence[] getpriaddr() {
        return PRIADDR;
    }

    public CharSequence[] getpritime() {
        return PRITIME;
    }

    public CharSequence[] getcanji() {
        return CANJI;
    }

    public CharSequence[] getaddpenalty() {
        return ADDPENALTY;
    }

    public CharSequence[] getaftype() {
        return AFTYPE;
    }

    public CharSequence[] getjianhuren() {
        return JIANHUREN;
    }

    public CharSequence[] getkunnan() {
        return KUNNAN;
    }

    public CharSequence[] getshixue() {
        return SHIXUE;
    }

    public CharSequence[] getliulang() {
        return LIULANG;
    }

    public CharSequence[] getfanzui() {
        return FANZUI;
    }

    public CharSequence[] getIdType() {
        return ID_TYPE;
    }

    public CharSequence[] getjinengtype() {
        return JINENGTYPE;
    }

    public CharSequence[] getrelation() {
        return RELATION;
    }

    public CharSequence[] getfzlx() {
        return FZLX;
    }

    public Map<String, String> getSexMap() {
        return SEX_MAP;
    }

    public Map<String, String> getIdTypeMap() {
        return ID_TYPE_MAP;
    }

    public Map<String, String> getBqzyMap() {
        return BQZY_MAP;
    }

    public Map<String, String> getJinengtypeMap() {
        return JINENGTYPE_MAP;
    }

    public Map<String, String> getRelationMap() {
        return RELATION_MAP;
    }

    public Map<String, String> getJianhurenMap() {
        return JIANHUREN_MAP;
    }

    public Map<String, String> getKunnanMap() {
        return KUNNAN_MAP;
    }

    public Map<String, String> getShixueMap() {
        return SHIXUE_MAP;
    }

    public Map<String, String> getLiulangMap() {
        return LIULANG_MAP;
    }

    public Map<String, String> getFanzuiMap() {
        return FANZUI_MAP;
    }

    public CharSequence[] getprecri() {
        return PRECRI;
    }

    public CharSequence[] getbqzy() {
        return BQZY;
    }

    static {
        //性别
        SEX_MAP.put("男性","1");
        SEX_MAP.put("女性","2");
        SEX_MAP.put("未知的性别","0");
        SEX_MAP.put("未说明的性别","9");
        SEX_MAP.put("1","男性");
        SEX_MAP.put("2","女性");
        SEX_MAP.put("0","未知的性别");
        SEX_MAP.put("9","未说明的性别");
        //民族
        NATIONALITY_MAP.put("土家族","15");
        NATIONALITY_MAP.put("土族","30");
        NATIONALITY_MAP.put("门巴族","54");
        NATIONALITY_MAP.put("水族","25");
        NATIONALITY_MAP.put("毛南族","36");
        NATIONALITY_MAP.put("乌孜别克族","43");
        NATIONALITY_MAP.put("布依族","09");
        NATIONALITY_MAP.put("布朗族","34");
        NATIONALITY_MAP.put("东乡族","26");
        NATIONALITY_MAP.put("仡佬族","37");
        NATIONALITY_MAP.put("仫佬族","32");
        NATIONALITY_MAP.put("白族","14");
        NATIONALITY_MAP.put("汉族","01");
        NATIONALITY_MAP.put("达斡尔族","31");
        NATIONALITY_MAP.put("回族","03");
        NATIONALITY_MAP.put("佤族","21");
        NATIONALITY_MAP.put("壮族","08");
        NATIONALITY_MAP.put("羌族","33");
        NATIONALITY_MAP.put("阿昌族","39");
        NATIONALITY_MAP.put("纳西族","27");
        NATIONALITY_MAP.put("拉祜族","24");
        NATIONALITY_MAP.put("苗族","06");
        NATIONALITY_MAP.put("侗族","12");
        NATIONALITY_MAP.put("京族","49");
        NATIONALITY_MAP.put("柯尔克孜族","29");
        NATIONALITY_MAP.put("哈尼族","16");
        NATIONALITY_MAP.put("哈萨克族","17");
        NATIONALITY_MAP.put("保安族","47");
        NATIONALITY_MAP.put("俄罗斯族","44");
        NATIONALITY_MAP.put("独龙族","51");
        NATIONALITY_MAP.put("怒族","42");
        NATIONALITY_MAP.put("珞巴族","55");
        NATIONALITY_MAP.put("高山族","23");
        NATIONALITY_MAP.put("基诺族","56");
        NATIONALITY_MAP.put("鄂伦春族","52");
        NATIONALITY_MAP.put("鄂温克族","45");
        NATIONALITY_MAP.put("维吾尔族","05");
        NATIONALITY_MAP.put("塔吉克族","41");
        NATIONALITY_MAP.put("塔塔尔族","50");
        NATIONALITY_MAP.put("朝鲜族","10");
        NATIONALITY_MAP.put("景颇族","28");
        NATIONALITY_MAP.put("傣族","18");
        NATIONALITY_MAP.put("傈僳族","20");
        NATIONALITY_MAP.put("畲族","22");
        NATIONALITY_MAP.put("普米族","40");
        NATIONALITY_MAP.put("裕固族","48");
        NATIONALITY_MAP.put("蒙古族","02");
        NATIONALITY_MAP.put("锡伯族","38");
        NATIONALITY_MAP.put("满族","11");
        NATIONALITY_MAP.put("瑶族","13");
        NATIONALITY_MAP.put("赫哲族","53");
        NATIONALITY_MAP.put("撒拉族","35");
        NATIONALITY_MAP.put("德昂族","46");
        NATIONALITY_MAP.put("黎族","19");
        NATIONALITY_MAP.put("藏族","04");
        NATIONALITY_MAP.put("彝族","07");
        NATIONALITY_MAP.put("穿青人","57");
        NATIONALITY_MAP.put("其他","97");
        //证件类型
        ID_TYPE_MAP.put("居民身份证","1");
        ID_TYPE_MAP.put("临时居民身份证","2");
        ID_TYPE_MAP.put("军官证","3");
        ID_TYPE_MAP.put("士兵证","4");
        ID_TYPE_MAP.put("武警警官证","5");
        ID_TYPE_MAP.put("武警士兵证","6");
        ID_TYPE_MAP.put("人民警察警官证","7");
        ID_TYPE_MAP.put("港澳同胞回乡证","8");
        ID_TYPE_MAP.put("港澳居民来往内地通行证","9");
        ID_TYPE_MAP.put("台湾居民来往大陆通行证","10");
        ID_TYPE_MAP.put("护照","11");
        ID_TYPE_MAP.put("海员证","12");
        ID_TYPE_MAP.put("驾驶证","13");
        ID_TYPE_MAP.put("学生证","14");
        ID_TYPE_MAP.put("证明信","15");
        ID_TYPE_MAP.put("工作证","16");
        ID_TYPE_MAP.put("残废证","17");
        ID_TYPE_MAP.put("户口簿","18");
        ID_TYPE_MAP.put("无","98");
        ID_TYPE_MAP.put("其他证件","99");
        //文化程度
        EDUCATION_MAP.put("研究生教育","10");
        EDUCATION_MAP.put("博士研究生毕业","11");
        EDUCATION_MAP.put("博士研究生结业","12");
        EDUCATION_MAP.put("博士研究生肄业","13");
        EDUCATION_MAP.put("硕士研究生毕业","14");
        EDUCATION_MAP.put("硕士研究生结业","15");
        EDUCATION_MAP.put("硕士研究生肄业","16");
        EDUCATION_MAP.put("研究生班毕业","17");
        EDUCATION_MAP.put("研究生班结业","18");
        EDUCATION_MAP.put("研究生班肄业","19");
        EDUCATION_MAP.put("大学本科教育","20");
        EDUCATION_MAP.put("大学本科毕业","21");
        EDUCATION_MAP.put("大学本科结业","22");
        EDUCATION_MAP.put("大学本科肄业","23");
        EDUCATION_MAP.put("大学普通班毕业","28");
        EDUCATION_MAP.put("大学专科教育","30");
        EDUCATION_MAP.put("大学专科毕业","31");
        EDUCATION_MAP.put("大学专科结业","32");
        EDUCATION_MAP.put("大学专科肄业","33");
        EDUCATION_MAP.put("中等职业教育","40");
        EDUCATION_MAP.put("中等师范学校毕业","91");
        EDUCATION_MAP.put("中等师范学校结业","92");
        EDUCATION_MAP.put("中等师范学校肄业","93");
        EDUCATION_MAP.put("中等专科毕业","41");
        EDUCATION_MAP.put("中等专科结业","42");
        EDUCATION_MAP.put("中等专科肄业","43");
        EDUCATION_MAP.put("职业高中毕业","44");
        EDUCATION_MAP.put("职业高中结业","45");
        EDUCATION_MAP.put("职业高中肄业","46");
        EDUCATION_MAP.put("技工学校毕业","47");
        EDUCATION_MAP.put("技工学校结业","48");
        EDUCATION_MAP.put("技工学校肄业","49");
        EDUCATION_MAP.put("普通高级中学教育","60");
        EDUCATION_MAP.put("普通高中毕业","61");
        EDUCATION_MAP.put("普通高中结业","62");
        EDUCATION_MAP.put("普通高中肄业","63");
        EDUCATION_MAP.put("初级中学教育","70");
        EDUCATION_MAP.put("初级中学毕业","71");
        EDUCATION_MAP.put("初级中学肄业","73");
        EDUCATION_MAP.put("小学教育","80");
        EDUCATION_MAP.put("小学毕业","81");
        EDUCATION_MAP.put("小学肄业","83");
        EDUCATION_MAP.put("其他","90");
        EDUCATION_MAP.put("半文盲","98");
        EDUCATION_MAP.put("文盲","99");
        //户籍类型编码
        PRI_ADDR_MAP.put("农村户籍","01");
        PRI_ADDR_MAP.put("城镇户籍","02");
        PRI_ADDR_MAP.put("查不清户籍","03");
        PRI_ADDR_MAP.put("非大陆籍—外国籍","04");
        PRI_ADDR_MAP.put("非大陆籍—无国籍","05");
        PRI_ADDR_MAP.put("非大陆籍—香港","06");
        PRI_ADDR_MAP.put("非大陆籍—澳门","07");
        PRI_ADDR_MAP.put("非大陆籍—台湾","08");
        //犯罪类型
        FZLX_MAP.put("危害国家安全罪","2");
        FZLX_MAP.put("危害公共安全罪","15");
        FZLX_MAP.put("破坏社会主义市场经济秩序罪","58");
        FZLX_MAP.put("侵犯公民人身权利、民主权利罪","161");
        FZLX_MAP.put("侵犯财产罪","199");
        FZLX_MAP.put("妨害社会管理秩序罪","212");
        FZLX_MAP.put("危害国防利益罪","341");
        FZLX_MAP.put("贪污贿赂罪","363");
        FZLX_MAP.put("渎职罪","376");
        FZLX_MAP.put("军人违反职责罪","408");
        FZLX_MAP.put("其他罪名","9999");
        //现刑期
        PRITIME_MAP.put("拘役","9998");
        PRITIME_MAP.put("管制","9994");
        PRITIME_MAP.put("死刑","9997");
        PRITIME_MAP.put("死刑缓期二年执行","9996");
        PRITIME_MAP.put("无期徒刑","9995");
        PRITIME_MAP.put("有期徒刑","9999");
        //是否累惯犯
        PRECRI_MAP.put("是","1");
        PRECRI_MAP.put("否","2");
        //附加刑
        ADDPENALTY_MAP.put("罚金","01");
        ADDPENALTY_MAP.put("剥夺政治权利","02");
        ADDPENALTY_MAP.put("没收财产","03");
        ADDPENALTY_MAP.put("驱逐出境","04");
        ADDPENALTY_MAP.put("无","05");
        //案犯类别
        AFTYPE_MAP.put("危害国家安全罪犯","1");
        AFTYPE_MAP.put("重大刑事犯","2");
        AFTYPE_MAP.put("一般刑事犯","3");
        //捕前职业
        //捕前职业分类
        JINENGTYPE_MAP.put("国家公务员","11");
        JINENGTYPE_MAP.put("法院工作人员","111");
        JINENGTYPE_MAP.put("检察机关工作人员","112");
        JINENGTYPE_MAP.put("公安机关工作人员","113");
        JINENGTYPE_MAP.put("司法机关工作人员","114");
        JINENGTYPE_MAP.put("其他政法机关工作人员","115");
        JINENGTYPE_MAP.put("财政机关工作人员","116");
        JINENGTYPE_MAP.put("其他公务员","117");
        JINENGTYPE_MAP.put("非公务员国家机关工作人员","118");
        JINENGTYPE_MAP.put("专业技术人员","13");
        JINENGTYPE_MAP.put("教师","14");
        JINENGTYPE_MAP.put("医生","15");
        JINENGTYPE_MAP.put("律师","16");
        JINENGTYPE_MAP.put("职员","17");
        JINENGTYPE_MAP.put("企业管理人员","21");
        JINENGTYPE_MAP.put("工人","24");
        JINENGTYPE_MAP.put("农民","27");
        JINENGTYPE_MAP.put("牧民","28");
        JINENGTYPE_MAP.put("渔民","29");
        JINENGTYPE_MAP.put("学生","31");
        JINENGTYPE_MAP.put("现役军人","37");
        JINENGTYPE_MAP.put("自由职业者","51");
        JINENGTYPE_MAP.put("个体经营者","54");
        JINENGTYPE_MAP.put("无业人员","70");
        JINENGTYPE_MAP.put("退（离）休人员","80");
        JINENGTYPE_MAP.put("其他","90");
        JINENGTYPE_MAP.put("事业单位工作人员","95");
        JINENGTYPE_MAP.put("国有公司或企业工作人员","96");
        JINENGTYPE_MAP.put("私营企业主","97");
        JINENGTYPE_MAP.put("金融机构工作人员","98");
        JINENGTYPE_MAP.put("农民工","99");
        JINENGTYPE_MAP.put("无","00");
        //是否疾病、残疾
        CANJI_MAP.put("是","1");
        CANJI_MAP.put("否","2");
        //关系
        RELATION_MAP.put("本人","1");
        RELATION_MAP.put("户主","2");
        RELATION_MAP.put("配偶","10");
        RELATION_MAP.put("夫","11");
        RELATION_MAP.put("妻","12");
        RELATION_MAP.put("子","20");
        RELATION_MAP.put("独生子","21");
        RELATION_MAP.put("长子","22");
        RELATION_MAP.put("次子","23");
        RELATION_MAP.put("三子","24");
        RELATION_MAP.put("四子","25");
        RELATION_MAP.put("五子","26");
        RELATION_MAP.put("养子或继子","27");
        RELATION_MAP.put("女婿","28");
        RELATION_MAP.put("其他儿子","29");
        RELATION_MAP.put("女","30");
        RELATION_MAP.put("独生女","31");
        RELATION_MAP.put("长女","32");
        RELATION_MAP.put("次女","33");
        RELATION_MAP.put("三女","34");
        RELATION_MAP.put("四女","35");
        RELATION_MAP.put("五女","36");
        RELATION_MAP.put("养女或继女","37");
        RELATION_MAP.put("儿媳","38");
        RELATION_MAP.put("其他女儿","39");
        RELATION_MAP.put("孙子、孙女或外孙女、外孙子","40");
        RELATION_MAP.put("孙子","41");
        RELATION_MAP.put("孙女","42");
        RELATION_MAP.put("外孙子","43");
        RELATION_MAP.put("外孙女","44");
        RELATION_MAP.put("孙媳妇或外孙媳妇","45");
        RELATION_MAP.put("孙女婿或外孙女婿","46");
        RELATION_MAP.put("曾孙子或外曾孙子","47");
        RELATION_MAP.put("曾孙女或外曾孙女","48");
        RELATION_MAP.put("其他孙子、孙女或外孙女、外孙女","49");
        RELATION_MAP.put("父母","50");
        RELATION_MAP.put("父亲","51");
        RELATION_MAP.put("母亲","52");
        RELATION_MAP.put("公公","53");
        RELATION_MAP.put("婆婆","54");
        RELATION_MAP.put("岳父","55");
        RELATION_MAP.put("岳母","56");
        RELATION_MAP.put("继父或养父","57");
        RELATION_MAP.put("继母或养母","58");
        RELATION_MAP.put("其他父母关系","59");
        RELATION_MAP.put("祖父母或外祖父母","60");
        RELATION_MAP.put("祖父","61");
        RELATION_MAP.put("祖母","62");
        RELATION_MAP.put("外祖父","63");
        RELATION_MAP.put("外祖母","64");
        RELATION_MAP.put("配偶的祖父母或外祖父母","65");
        RELATION_MAP.put("曾祖父","66");
        RELATION_MAP.put("曾祖母","67");
        RELATION_MAP.put("配偶的曾祖父母或外曾祖父母","68");
        RELATION_MAP.put("其他祖父母或外祖父母关系","69");
        RELATION_MAP.put("兄弟姐妹","70");
        RELATION_MAP.put("兄","71");
        RELATION_MAP.put("嫂","72");
        RELATION_MAP.put("弟","73");
        RELATION_MAP.put("弟媳","74");
        RELATION_MAP.put("姐姐","75");
        RELATION_MAP.put("姐夫","76");
        RELATION_MAP.put("妹妹","77");
        RELATION_MAP.put("妹夫","78");
        RELATION_MAP.put("其他兄弟姐妹","79");
        RELATION_MAP.put("其他","80");
        RELATION_MAP.put("伯父","81");
        RELATION_MAP.put("伯母","82");
        RELATION_MAP.put("叔父","83");
        RELATION_MAP.put("婶母","84");
        RELATION_MAP.put("舅父","85");
        RELATION_MAP.put("舅母","86");
        RELATION_MAP.put("姨父","87");
        RELATION_MAP.put("姨母","88");
        RELATION_MAP.put("姑父","89");
        RELATION_MAP.put("姑母","90");
        RELATION_MAP.put("堂兄弟、堂姐妹","91");
        RELATION_MAP.put("表兄弟、表姐妹","92");
        RELATION_MAP.put("侄子","93");
        RELATION_MAP.put("侄女","94");
        RELATION_MAP.put("外甥","95");
        RELATION_MAP.put("外甥女","96");
        RELATION_MAP.put("夫兄","97A");
        RELATION_MAP.put("夫弟","97B");
        RELATION_MAP.put("夫姐","97C");
        RELATION_MAP.put("夫妹","97D");
        RELATION_MAP.put("妻兄","97E");
        RELATION_MAP.put("妻弟","97F");
        RELATION_MAP.put("妻姐","97G");
        RELATION_MAP.put("妻妹","97H");
        RELATION_MAP.put("连襟","97I");
        RELATION_MAP.put("妯娌","97J");
        RELATION_MAP.put("非婚生子女","97K");
        RELATION_MAP.put("法务工作者","99A");
        RELATION_MAP.put("前妻","99B");
        RELATION_MAP.put("前夫","99C");
        RELATION_MAP.put("朋友","99D");
        RELATION_MAP.put("小集体户主","99E");
        RELATION_MAP.put("保姆","99F");
        RELATION_MAP.put("同居者","99G");
        RELATION_MAP.put("未婚夫","99H");
        RELATION_MAP.put("未婚妻","99I");
        RELATION_MAP.put("男友","99J");
        RELATION_MAP.put("女友","99K");
        RELATION_MAP.put("社会志愿者","99L");
        RELATION_MAP.put("同事","99M");
        RELATION_MAP.put("其他社会关系","99N");
        RELATION_MAP.put("同学","99O");
        RELATION_MAP.put("战友","99P");
        //监护人情况
        JIANHUREN_MAP.put("有监护人可以履责","01");
        JIANHUREN_MAP.put("有监护人无法履责","02");
        JIANHUREN_MAP.put("无监护人","03");
        //生活困难程度
        KUNNAN_MAP.put("一般困难","01");
        KUNNAN_MAP.put("特别困难","02");
        KUNNAN_MAP.put("不困难","03");
        //失学
        SHIXUE_MAP.put("是","1");
        SHIXUE_MAP.put("否","2");
        //流浪社会
        LIULANG_MAP.put("是","1");
        LIULANG_MAP.put("否","2");
        //违法犯罪行为
        FANZUI_MAP.put("有","1");
        FANZUI_MAP.put("无","2");
    }

    private Dictionary() {}

    public static Dictionary getSingleton() {
                if(null == dictionary) {
                    dictionary = new Dictionary();
                }
                if(null == dictionary) {
                    synchronized(Dictionary.class) {
            }
        }
        return dictionary;
    }
}